package controller;

import java.io.IOException;
import java.io.PrintWriter;

import java.util.ArrayList;

import javax.servlet.*;
import javax.servlet.http.*;

import ecommerce.service.CategoriaService;
import ecommerce.to.CategoriaTO;
import ecommerce.util.EcommerceLog;

public class CategoriaServlet extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=windows-1252";

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void service(HttpServletRequest request, 
                        HttpServletResponse response) throws ServletException, IOException {response.setContentType(CONTENT_TYPE);
        
        String accion = request.getParameter("accion");
        
        if(accion.equals("abrir_categoria")){
            ArrayList<CategoriaTO> categorias;
            
            try{
                categorias = new CategoriaService().traerTodo();
                request.setAttribute("categorias", categorias);
                
                request.getRequestDispatcher("categoria.jsp").forward(request,response);    
            }catch(Exception ex){
            	EcommerceLog.info("error en el service CATEGORIAS");
                EcommerceLog.error(ex);
                
                response.sendRedirect("error.jsp");
            }
            
        }else if(accion.equals("crear")){

            ArrayList<CategoriaTO> categorias;
            CategoriaTO cateTO = new CategoriaTO();
            CategoriaService cateSer = new CategoriaService();
            try{
                cateTO.setNombre(request.getParameter("txtCategoriaNuevo"));
                cateSer.crear(cateTO);                
                categorias = cateSer.traerTodo();
                
                request.getSession(true).setAttribute("categorias", categorias);                
                request.getRequestDispatcher("xml/categorias.jsp").forward(request,response);    
                
            }catch(Exception ex){
                EcommerceLog.error(ex);
                response.sendRedirect("error.jsp");
            }
        
        }else if(accion.equals("eliminar")){
            
            ArrayList<CategoriaTO> categorias;
            CategoriaTO cateTO = new CategoriaTO();
            CategoriaService cateSer = new CategoriaService();
            try{
                int id = Integer.parseInt(request.getParameter("id"));
                
                cateSer.eliminar(id);
                categorias = cateSer.traerTodo();
                
                request.getSession(true).setAttribute("categorias", categorias);                
                request.getRequestDispatcher("xml/categorias.jsp").forward(request,response);    
                
            }catch(Exception ex){
                EcommerceLog.error(ex);
                response.sendRedirect("error.jsp");
            }
            
        }else{
               
        }

    }
}
